import 'package:erp/modules/login/page.dart';
import 'package:erp/modules/main/page.dart';
import 'package:erp/modules/my_profile/my_profile_page.dart';
import 'package:erp/modules/password/page.dart';
import 'package:erp/modules/process_chart/page.dart';
import 'package:erp/modules/process_node_choose/page.dart';
import 'package:erp/modules/project_management/page.dart';
import 'package:erp/modules/sale_project/page.dart';
import 'package:erp/modules/sale_project_apply/page.dart';
import 'package:erp/modules/sale_project_description/page.dart';
import 'package:erp/modules/sale_project_handle/page.dart';
import 'package:erp/modules/sale_project_list/page.dart';
import 'package:erp/modules/sale_project_process_detail/page.dart';
import 'package:erp/modules/splash/binding.dart';
import 'package:erp/modules/splash/page.dart';
import 'package:get/route_manager.dart';

part './app_routes.dart';

abstract class AppPages {
  static final pages = [
    GetPage(name: Routes.LOGIN, page: () => Login(), binding: LoginBinding()),
    GetPage(
      name: Routes.MAIN,
      page: () => Main(),
      binding: MainBinding(),
      middlewares: [MainMiddleware()],
    ),
    GetPage(name: Routes.SPLASH, page: () => SplashPage(), binding: SplashBinding()),
    GetPage(name: Routes.MY_PROFILE, page: () => MyProfile()),
    GetPage(name: Routes.PASSWORD, page: () => Password(), binding: PasswordBinding()),
    GetPage(name: Routes.FLOW_CHART, page: () => FlowChart(), binding: FlowChartBinding()),
    GetPage(
      name: Routes.SALE_PROJECT,
      page: () => SaleProject(),
      binding: SaleProjectBinding(),
    ),
    GetPage(
      name: Routes.SALE_PROJECT_APPLY,
      page: () => SaleProjectApply(),
      binding: SaleProjectApplyBinding(),
    ),
    GetPage(
      name: Routes.SALE_PROJECT_DETAILS,
      page: () => SaleProjectDescription(),
      binding: SaleProjectDescriptionBinding(),
    ),
    GetPage(
      name: Routes.SALE_PROJECT_HANDLE,
      page: () => SaleProjectHandle(),
      binding: SaleProjectHandleBinding(),
    ),
    GetPage(
      name: Routes.PROJECT_MANAGEMENT,
      page: () => ProjectManagement(),
    ),
    GetPage(
      name: Routes.SALE_PROJECT_LIST,
      page: () => SaleProjectList(),
      binding: SaleProjectListBinding(),
    ),
    GetPage(
      name: Routes.SALE_PROJECT_PROCESS_DETAIL,
      page: () => SaleProjectProcessDetail(),
      binding: SaleProjectProcessDetailBinding(),
    ),
    GetPage(
      name: Routes.PROCESS_NODE_CHOOSE,
      page: () => ProcessNodeChoosePage(),
      binding: ProcessNodeChooseBinding(),
    ),
  ];
}
